﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 龙裔之争.Game
	{
	partial class AboutBox1 : Form
		{
		public AboutBox1()
			{
			InitializeComponent();
			this.Text = String.Format("关于 {0}", AssemblyTitle);
			this.labelProductName.Text = AssemblyProduct;
			this.labelVersion.Text = String.Format("版本 {0}", AssemblyVersion);
			this.labelCopyright.Text = AssemblyCopyright;
			this.labelCompanyName.Text = AssemblyCompany;
			this.textBoxDescription.Text = AssemblyDescription;
			}

		#region 程序集特性访问器

		public string AssemblyTitle
			{
			get
				{
				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
				if (attributes.Length > 0)
					{
					AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
					if (titleAttribute.Title != "")
						{
						return titleAttribute.Title;
						}
					}
				return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
				}
			}

		public string AssemblyVersion
			{
			get
				{
				return Assembly.GetExecutingAssembly().GetName().Version.ToString();
				}
			}

		public string AssemblyDescription
			{
			get
				{
				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
				if (attributes.Length == 0)
					{
					return "";
					}
				return ((AssemblyDescriptionAttribute)attributes[0]).Description;
				}
			}

		public string AssemblyProduct
			{
			get
				{
				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
				if (attributes.Length == 0)
					{
					return "";
					}
				return ((AssemblyProductAttribute)attributes[0]).Product;
				}
			}

		public string AssemblyCopyright
			{
			get
				{
				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
				if (attributes.Length == 0)
					{
					return "";
					}
				return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
				}
			}

		public string AssemblyCompany
			{
			get
				{
				object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
				if (attributes.Length == 0)
					{
					return "";
					}
				return ((AssemblyCompanyAttribute)attributes[0]).Company;
				}
			}
		#endregion
		}
	}
